﻿SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ARITHABORT ON
GO
SET NUMERIC_ROUNDABORT OFF
GO
SET CONCAT_NULL_YIELDS_NULL ON
GO
SET ANSI_PADDING ON
GO
SET ANSI_WARNINGS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[bhp_AdditionalServicesGetLines]
(
	@OrderId		INT
)
AS
BEGIN

	DECLARE
		@UnitPrice	NUMERIC(8, 2),
		@Tryb	INT,
		@ReservationId	INT
		
	SELECT @UnitPrice = cena, @Tryb = tryb, @ReservationId = rezerwacja FROM USLUGA_POZYCJA WHERE idx = @OrderId AND del = 0

	SET @Tryb = ISNULL(@Tryb, -1)
	IF @Tryb = -1 RETURN 0
	ELSE IF @Tryb = 0
		SELECT
			COALESCE(
				dbo.bhf_ConvertDateTimeFrom(r.data_przyjazdu),
				(SELECT TOP 1
						dbo.bhf_ConvertDateTimeFrom(rp.od_daty) 
					FROM 
						REZERWACJA_pozycje_rezerwacji rpr
						INNER JOIN REZERWACJA_POZYCJE rp ON rpr.rel = rp.idx
					WHERE
						rpr.idx = @ReservationId)
			) as Date,
			@UnitPrice AS UnitPrice,
			1 as Quantity,
			0 as Apartment
		FROM
			REZERWACJA r
		WHERE
			idx = @ReservationId
	ELSE
		SELECT 
			COALESCE(
				dbo.sND_to_DateTime(dzien),
				(SELECT TOP 1 dbo.bhf_ConvertDateTimeFrom(r.data_przyjazdu) FROM REZERWACJA r WHERE idx = @ReservationId),
				(SELECT TOP 1
						dbo.bhf_ConvertDateTimeFrom(rp.od_daty) 
					FROM 
						REZERWACJA_pozycje_rezerwacji rpr
						INNER JOIN REZERWACJA_POZYCJE rp ON rpr.rel = rp.idx
					WHERE
						rpr.idx = @ReservationId)
			) AS Date,
			@UnitPrice AS UnitPrice,
			ISNULL(ilosc, 1) AS Quantity,
			ISNULL(apartament, 0) as Apartment
		FROM
			USLUGA_POZYCJA_WYMIAR p
		WHERE
			p.usluga_pozycja = @OrderId
			AND p.del = 0
	
END
	


